package com.rpframework.utils;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * KEY/VALUE资源文件工具类
 */
public class PropertiesUtils {
	/**
	 * 只能查找类路径下文件
	 * 
	 * @param path
	 *            路径
	 * @param fileName
	 *            文件名
	 * @return 资源文件对象
	 */
	public static Properties getProperties(String path, String fileName) {
		InputStream resourceAsStream = PropertiesUtils.class.getClassLoader()
				.getResourceAsStream(path + File.separator + fileName);
		return getFileStream(resourceAsStream);
	}

	/**
	 * 只能查找类路径下文件
	 * 
	 * @param path
	 *            路径
	 * @param fileName
	 *            文件名
	 * @return 资源文件对象
	 */
	public static Properties getProperties(String filePath) {
		InputStream resourceAsStream = PropertiesUtils.class.getClassLoader().getResourceAsStream(filePath);
		return getFileStream(resourceAsStream);
	}

	/**
	 * 文件流转资源文件对象
	 * 
	 * @param resourceAsStream
	 *            文件流
	 * @return 资源文件对象
	 */
	private static Properties getFileStream(InputStream resourceAsStream) {
		Properties properties = new Properties();
		try {
			properties.load(resourceAsStream);
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
		return properties;
	}
}
